perm filename SAVE.REG[UP,DOC] blob sn#148214 filedate 1975-03-03 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	DOCUMENTATION OF SAVE,
C00012 ENDMK
C⊗;
DOCUMENTATION OF SAVE,
being a copy of what it will tell you if you have read the
documentation and know what to ask.  This program will assemble
under FAIL or MACRO and if the right switches are set will
work on a STANDARD DEC MONITOR as well as at Stanford.

 - - THIS PROGRAM IS NOT SUPPORTED AT STANFORD OR ANYWHERE ELSE - -

Command = /H for help
	"SAVE" WILL SAVE OR RESTORE ALL OR SELECTED DISK FILES
FOR A SINGLE USER.  ONLY FILES KEYED TO THE PROJ-PROG
NUMBER FOR THE JOB RUNNING "SAVE" WILL BE AFFECTED.  THIS PROGRAM
DOES NOT SUPPORT THE STANFORD "ALIAS" FEATURE.

	TO USE THE PROGRAM:

1. ASSIGN MTA0
   (IF MTA0 IS UNAVAILABLE, "A MTA1 MTA0" WILL HAVE THE RIGHT EFFECT)

2. R SAVE
   THE PROGRAM RESPONDS TO ALL COMMANDS WITH AN ASTERISK (*)

3. TYPING A SLASH (/) INDICATES THAT THE CHARACTER(S) FOLLOWING IT
  SPECIFY SOME CONTROL INFORMATION.  NONE OF THE "SLASH" COMMANDS CAUSE
  ANY DATA TO BE TRANSFERRED.

 THERE ARE FIVE KINDS OF SLASH COMMANDS:

	1. MODE SETTING
	/S INDICATES THAT FILES ARE TO BE SAVED (MTAPE←DISK)
	/R INDICATES THAT FILES ARE TO BE RESTORED (DISK←MTAPE)
	  /S IS ASSUMED
	/1X INDICATES THAT ALL FILES AFTER THE FIRST FILE MENTIONED ARE TO BE SAVED
		OR RESTORED (FOR RECOVERY FROM GARBAGED FILES)
	  /0X RESETS THE RECOVERY SWITCH

	2. MAG TAPE CONTROL
	/W REWINDS THE TAPE TO LOAD POINT
	/#A ADVANCES THE TAPE BY # FILES (# IS A POS DECIMAL NUMBER)
	/#B BACKSPACES THE TAPE BY # FILES
	/#T  ADVANCES THE TAPE TO LOGICAL END OF TAPE (EOT) # TIMES

	3. SWITCH SETTINGS
	/0L SUPPRESSES LISTING OF FILE NAMES ON TELETYPE
	/1L ENABLES TTY LISTING -- /1L IS ASSUMED
	/2L ENABLES LINE PRINTER LISTING
	/0N SUPPRESSES ACTUAL OUTPUT (DISK FOR /R, MTAPE FOR /S)
	/1N ENABLES OUTPUT -- /1N IS ASSUMED

	4. YOU KNOW ABOUT AT LEAST ONE OF THESE
	/H (HELP) PRINTS THIS SET OF INSTRUCTIONS FOR USING "SAVE"
	/I (INFORM) PRINTS AN ABBREVIATED VERSION AS A REMINDER
	/E PRINTS A SET OF EXAMPLES
	/F (FORMAT) PRINTS A DESCRIPTION OF THE MAG TAPE FORMAT AND 
	   THE EXACT EFFECTS OF THE /B, /W, /A COMMANDS.
	DIRECT MESSAGE OUTPUT TO THE LPT WITH /2L 

	5.  CREATE A "CURRENT TIME" FILE
	/C HAS THE FOLLOWING EFFECTS:
	   a.  A FILE "CURENT.TIM" IS CREATED ON THE DISK.
		IT IS A SINGLE LINE IN TEXT FORMAT AND
		IT READS LIKE
		  18-AUG-68  1311

	   b.  IF TTY OUTPUT IS ENABLED, THIS FILE IS TYPED.

	   c.  IF "SAVE" IS IN /S MODE, THE FILE IS IMMEDIATELY
		DUMPED.  (CAUTION:  IF YOU SAY "*.*", AND WANT
		THE "CURENT.TIM" FILE TO BE HONEST, SAY /C 
		BEFORE YOU DUMP THE FILES, NOT AFTER.  YOU WILL
		GET TWO COPIES, BUT THAT'S ALL RIGHT).

4. TO SAVE OR RESTORE FILES:

	1. SET /S OR /R (/S IS ASSUMED INITIALLY)
	2. TYPE FILE.EXT[CR]
	   .EXT MAY BE OMITTED
	   AN ASTERISK (*) USED IN EITHER THE FILE OR
	   .EXT POSITIONS MEANS "ALL"; IE, *.REL MEANS MOVE ALL
	   .REL FILES IN THE INDICATED DIRECTION
	3. A COMMA IS EVERYWHERE EQUIVALENT TO [CR]

	4. DATE OF CREATION IS PRESERVED IN A SAVE-RESTORE CYCLE,
	   BUT PROTECTION IS NOT.  ONLY STANDARD (55) PROTECTION
	   WILL BE SET DURING A RESTORE OPERATION.
5. ERROR MESSAGES

	1. IF THE PROGRAM EXITS OR HALTS PERFUNCTORILY, EITHER ONE OF
	   THE DEVICES IS UNAVAILABLE OR SOME RIDICULOUS CONDITION
	   EXISTS.  IF THE LATTER IS SUSPECTED, SEE AN EXPERT.

	2. THE MESSAGES "FILE NOT SAVED" OR "FILE NOT STORED" OR 
	   "FILE NOT FOUND" SIMPLY MEAN THAT THE DESIRED FILE
	   WAS NOT FOUND ON INPUT.  ONLY THE MESSAGES
	   "(DISK/TAPE) (INPUT/OUTPUT) ERROR ... " INDICATE ACTUAL 
	   MECHANICAL FAILURES.
	   IN NO CASE IS THE MAG TAPE MOVED (REWOUND, ETC.) UNLESS
	   SPECIFICALLY COMMANDED TO.  THUS ↑C START WILL ALWAYS 
	   LEAVE THE TAPE WHERE IT WAS WHEN YOU DID IT.  (FOR INSTANCE,
	   YOU COULD HAVE DONE IT AS SOON AS YOU GOT FED
	   UP WITH THIS MONOLOGUE).

Command = /I for information
/R	RESTORE FILES (DISK←TAPE)
/S	SAVE FILES (TAPE←DISK)
/W	REWIND
/#A	ADVANCE # FILES
/#B	BACKSPACE # FILES
/#T	ADVANCE TO EOT (LOGICAL END OF TAPE) # TIMES 
/0L	SUPPRESS TTY OUTPUT (/1L ENABLES, /2L MEANS  LPT)
/0N	SUPPRESS DISK/TAPE OUTPUT (/1N ENABLES)
/C	CREATE (AND DUMP, IF /S) A "CURENT.TIM" FILE
/I	THIS MESSAGE 
/H	A BIGGER ONE 
/E	EXAMPLES 
/F	TAPE FORMAT DESCRIPTION 
/#X	SAVE OR RESTORE FROM FIRST-MENTIONED NAME IF # ≠ 0
/S, /1L, /1N ASSUMED
?

Command = /E for examples
3A[CR]
FOO.REL[CR]	SAVES FOO.REL

/R,*,/W		RESTORES ALL FILES WITH BLANK EXTENSION, THEN REWINDS
		REMEMBER THAT "," IS EQUIVALENT TO [CR]

*.*[CR]		SAVES EVERYTHING

/0N,/R,*.*[CR]  LISTS ALL FILE NAMES FROM A TAPE WITHOUT WRITING

/0N,*.*[CR]     DOES THE SAME FOR DISK DIRECTORY, FOR WHAT IT'S WORTH

/R,*.REL	RESTORES ALL .REL FILES

FOO.REL,BAZ.DMP,/2B,/A,PRING   SAVES FOO.REL & PRING  (!)

Command = /F for format
	THE TAPE FORMAT IS AS FOLLOWS:
LOAD POINT
 FILE NAME (SIXBIT)
 FILE EXTENSION (SIXBIT)
 THE OTHER 2 WORDS RESULTING FROM THE ENTER UUO (DISK FILE)

 FILE TEXT
TAPE MARK (EOF)
 FILE NAME 2
  ...
TAPE MARK
  ...
 FILE NAME N
  ...
TAPE MARK
TAPE MARK

  WHEN CONTROL RETURNS TO THE USER AFTER A FILE IS WRITTEN, THE TAPE
IS IN A POSITION TO OVERWRITE THE LAST TAPE MARK.  SINCE 2 TAPE 
MARKS MEAN "END OF TAPE", THIS DISIGNATION IS CONTINUOUSLY
MOVED FORWARD.

/#A ALWAYS ADVANCES PAST # TAPE MARKS IN A FORWARD DIRECTION
/#B    "       "      "     "      "    "  " REVERSE DIRECTION
  THEREFORE TO RETURN TO THE FILE JUST WRITTEN, EXECUTE
/2B,/A[CR]

  THERE IS ONE EXCEPTION -- IF YOU'VE ONLY WRITTEN ONE FILE,
YOU HAVE TO SAY  /W[CR]

/T ADVANCES TO LOGICAL END OF TAPE (TWO CONTIGUOUS TAPE MARKS).
  THE TAPE HEAD IS POSITIONED BETWEEN THE TWO TAPE
   MARKS AFTER THE OPERATION.  TO EXTEND THE "VOLUME"
   (LOGICAL TAPE), SIMPLY TYPE /S AND CONTINUE.  TO START A 
   NEW "VOLUME", A /A IS NECESSARY BEFORE WRITING.
 
  THE TAPE HEAD IS POSITIONED BETWEEN THE TAPE MARKS AFTER
   A FILE IS WRITTEN ("SAVE" ALWAYS WRITES EOT AFTER EACH
   FILE, THEN BACKSPACES OVER ONE TAPE MARK).  IT IS POSITIONED
   PAST THE TAPE MARK AFTER A FILE HAS BEEN READ, AND AFTER
   BOTH TAPE MARKS AFTER A "*"-TYPE READ (POINTS AT
   NEXT "VOLUME").